home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Complementary Applications 2004 February / SGI IRIX 6.5 Complementary Applications 2004 February.iso / dist / cde.idb / usr / dt / share / examples / dtksh / CallDataTest4.z / CallDataTest4
Encoding:
Text File  |  2003-11-18  |  5.6 KB  |  167 lines

  1. #! /usr/dt/bin/dtksh
  2. #
  3. # CallDataTest4
  4. #
  5. # Copyright 2000, Silicon Graphics, Inc.
  6. # ALL RIGHTS RESERVED
  7. # UNPUBLISHED -- Rights reserved under the copyright laws of the United
  8. # States.   Use of a copyright notice is precautionary only and does not
  9. # imply publication or disclosure.
  10. #
  11. # U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
  12. # Use, duplication or disclosure by the Government is subject to restrictions
  13. # as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
  14. # in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
  15. # in similar or successor clauses in the FAR, or the DOD or NASA FAR
  16. # Supplement.  Contractor/manufacturer is Silicon Graphics, Inc.,
  17. # 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
  18. #
  19. # THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
  20. # INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
  21. # DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
  22. # PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
  23. # GRAPHICS, INC.
  24. #
  25.  
  26. ##########################################################################
  27. #  (c) Copyright 1993, 1994 Hewlett-Packard Company    
  28. #  (c) Copyright 1993, 1994 International Business Machines Corp.
  29. #  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
  30. #  (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
  31. #      Novell, Inc.
  32. ##########################################################################
  33.  
  34.  
  35. #
  36. # This sample shell script demonstrates how the CB_WIDGET and CB_CALL_DATA
  37. # convenience environment variables can be referenced within a callback
  38. # function.
  39. #
  40.  
  41. # PushButton Callback: Forces the scale to reset to the origin
  42. ResetScale()
  43. {
  44.    XmScaleSetValue $SCALE 0
  45. }
  46.  
  47. # PushButton Callback: Forces the scale to its minimum value
  48. SetScaleMin()
  49. {
  50.    XmScaleSetValue $SCALE -200
  51. }
  52.  
  53. # PushButton Callback: Forces the scale to its maximum value
  54. SetScaleMax()
  55. {
  56.    XmScaleSetValue $SCALE 200
  57.  
  58.    echo "CB Widget = "$CB_WIDGET
  59.    echo "CallData = "$CB_CALL_DATA
  60.    echo "CallData.Reason = "${CB_CALL_DATA.REASON}
  61.    echo "CallData.Event = "${CB_CALL_DATA.EVENT}
  62.    echo "CallData.Event.Type = "${CB_CALL_DATA.EVENT.TYPE}
  63.    echo "CallData.Event.Xbutton.Type = "${CB_CALL_DATA.EVENT.XBUTTON.TYPE}
  64.    echo "CallData.Event.Xbutton.Serial = "${CB_CALL_DATA.EVENT.XBUTTON.SERIAL}
  65.    echo "CallData.Event.Xbutton.Send_Event = "${CB_CALL_DATA.EVENT.XBUTTON.SEND_EVENT}
  66.    echo "CallData.Event.Xbutton.Display = "${CB_CALL_DATA.EVENT.XBUTTON.DISPLAY}
  67.    echo "CallData.Event.Xbutton.Window = "${CB_CALL_DATA.EVENT.XBUTTON.WINDOW}
  68.    echo "CallData.Event.Xbutton.Root = "${CB_CALL_DATA.EVENT.XBUTTON.ROOT}
  69.    echo "CallData.Event.Xbutton.Subwindow = "${CB_CALL_DATA.EVENT.XBUTTON.SUBWINDOW}
  70.    echo "CallData.Event.Xbutton.Time = "${CB_CALL_DATA.EVENT.XBUTTON.TIME}
  71.    echo "CallData.Event.Xbutton.X = "${CB_CALL_DATA.EVENT.XBUTTON.X}
  72.    echo "CallData.Event.Xbutton.Y = "${CB_CALL_DATA.EVENT.XBUTTON.Y}
  73.    echo "CallData.Event.Xbutton.X_root = "${CB_CALL_DATA.EVENT.XBUTTON.X_ROOT}
  74.    echo "CallData.Event.Xbutton.Y_root = "${CB_CALL_DATA.EVENT.XBUTTON.Y_ROOT}
  75.    echo "CallData.Event.Xbutton.State = "${CB_CALL_DATA.EVENT.XBUTTON.STATE}
  76.    echo "CallData.Event.Xbutton.Button = "${CB_CALL_DATA.EVENT.XBUTTON.BUTTON}
  77.    echo "CallData.Event.Xbutton.Same_Screen = "${CB_CALL_DATA.EVENT.XBUTTON.SAME_SCREEN}
  78.    echo
  79. }
  80.  
  81.  
  82. # Scale Callback: Invoked when the user interactively modified the scale value
  83. ScaleValueChanged()
  84. {
  85.    XmScaleGetValue $CB_WIDGET VALUE
  86.  
  87.    echo "New Scale Value = "$VALUE
  88.    echo "CB Widget = "$CB_WIDGET
  89.    echo "CallData = "$CB_CALL_DATA
  90.    echo "CallData.Value = "${CB_CALL_DATA.VALUE}
  91.    echo "CallData.Event = "${CB_CALL_DATA.EVENT}
  92.    echo "CallData.Event.Xany.Type = "${CB_CALL_DATA.EVENT.XANY.TYPE}
  93.    echo "CallData.Event.Type = "${CB_CALL_DATA.EVENT.TYPE}
  94.    echo "CallData.Reason = "${CB_CALL_DATA.REASON}
  95.    echo
  96. }
  97.  
  98. ######################### Create the Main UI #################################
  99.  
  100. XtInitialize TOPLEVEL command1 Command1 "$0" "$@"
  101.  
  102. XtCreateManagedWidget FORM form XmForm $TOPLEVEL
  103.  
  104. XtCreateManagedWidget SCALE scale XmScale $FORM \
  105.     showValue:True \
  106.     orientation:HORIZONTAL \
  107.     maximum:200 \
  108.     minimum:-200 \
  109.     topAttachment:ATTACH_FORM \
  110.     topOffset:10 \
  111.     leftAttachment:ATTACH_FORM \
  112.     leftOffset:10 \
  113.     rightAttachment:ATTACH_FORM \
  114.     rightOffset:10 
  115. XtAddCallback $SCALE valueChangedCallback ScaleValueChanged
  116.  
  117. XtCreateManagedWidget SEP sep XmSeparator $FORM \
  118.     topAttachment:ATTACH_WIDGET \
  119.     topWidget:$SCALE \
  120.     topOffset:10 \
  121.     leftAttachment:ATTACH_FORM \
  122.     rightAttachment:ATTACH_FORM
  123.  
  124. XtCreateManagedWidget PB pb XmPushButton $FORM \
  125.     labelString:"Reset Scale" \
  126.     topAttachment:ATTACH_WIDGET \
  127.     topOffset:10 \
  128.     topWidget:$SEP \
  129.     bottomAttachment:ATTACH_FORM \
  130.     bottomOffset:10 \
  131.     leftAttachment:ATTACH_POSITION \
  132.     leftPosition:10 \
  133.     rightAttachment:ATTACH_POSITION \
  134.     rightPosition:30 
  135. XtAddCallback $PB activateCallback ResetScale
  136.  
  137. XtCreateManagedWidget PB2 pb XmPushButton $FORM \
  138.     labelString:"Set Scale Max" \
  139.     topAttachment:ATTACH_WIDGET \
  140.     topOffset:10 \
  141.     topWidget:$SEP \
  142.     bottomAttachment:ATTACH_FORM \
  143.     bottomOffset:10 \
  144.     leftAttachment:ATTACH_POSITION \
  145.     leftPosition:40 \
  146.     rightAttachment:ATTACH_POSITION \
  147.     rightPosition:60 
  148. XtAddCallback $PB2 activateCallback SetScaleMax
  149.  
  150. XtCreateManagedWidget PB3 pb XmPushButton $FORM \
  151.     labelString:"Set Scale Min" \
  152.     topAttachment:ATTACH_WIDGET \
  153.     topOffset:10 \
  154.     topWidget:$SEP \
  155.     bottomAttachment:ATTACH_FORM \
  156.     bottomOffset:10 \
  157.     leftAttachment:ATTACH_POSITION \
  158.     leftPosition:70 \
  159.     rightAttachment:ATTACH_POSITION \
  160.     rightPosition:90 
  161. XtAddCallback $PB3 activateCallback SetScaleMin
  162.  
  163. XtRealizeWidget $TOPLEVEL
  164.  
  165. XtMainLoop
  166.